package com.yuyou.fn.analyze.service;

import com.github.wens.framework.service.ISuperService;
import com.yuyou.fn.analyze.entity.MainAccountTarget;
import com.yuyou.fn.analyze.vo.MainAccountTargetResultVo;
import com.yuyou.fn.analyze.vo.MainAccountTargetVo;

import java.util.List;
import java.util.Map;

/**
 *
 * MainAccountTarget 表数据服务层接口
 *
 */
 public interface IMainAccountTargetService extends ISuperService<MainAccountTarget,Long> {

     void insertByList(Long mainAccountId,String year,String targetType,List<MainAccountTargetVo> mainAccountTargetVoList);

     void deleteByMainAccountId(Long mainAccountId,String year,String targetType);


     List<MainAccountTarget> findListByMainAccountIdsAndPeriodIds(List<Long> mainAccountIdList, List<Long> periodIdList,String year, String targetType);

     List<MainAccountTarget> findListByMainAccountIdsAndPeriodIdsLikeTypes(List<Long> mainAccountIdList, List<Long> periodIdList,String year, String typeRightLike);

     List<MainAccountTarget> findListByMainAccountIdsAndPeriodIdAndTargetTypes(List<Long> mainAccountIdList, Long periodId,List<String> targetTypeList);

     List<MainAccountTarget> findListByMainAccountIdAndPeriodIds(Long mainAccountId, List<Long> periodIdList, String year, List<String> targetTypeList);


     List<Map<String,Object>> findListByAreaTeamIdAndYear(Long areaTeamId, String year, String targetType);


     List<MainAccountTargetResultVo> findListByBusTeamIdAndYear(Long busTeamId, String year);

     List<MainAccountTargetResultVo> findAreaTeamGradeSubjectTarget(Long areaTeamId,String year);

     List<MainAccountTarget> findByGroupId(Long busTeamId,List<Long> groupIds,Long periodId);

     List<MainAccountTarget> findByGroupId(List<Long> busTeamIds,List<Long> groupIds,List<Long> periodIds);

    List<MainAccountTarget> findListByMainAccountIdsAndPeriodIdsAndTargetTypes(List<Long> mainAccountIdList, List<Long> periodIds,List<String> targetTypeList);


}